package vip.liux.backend.application.service.point;

import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;
import vip.liux.contracts.shared.enums.point.PointRuleType;

import java.math.BigDecimal;

@Getter
@Setter
public class PointsAdjustDto {
    @NotNull(message = "用户ID不能为空")
    private Long userId;

    @NotNull(message = "调整类型不能为空")
    private PointRuleType type; // 调整类型枚举（0: 增加, 1: 扣减）

    @NotNull(message = "积分值不能为空")
    @DecimalMin(value = "0.01", message = "积分值必须大于0")
    private BigDecimal points;

    @NotBlank(message = "调整原因不能为空")
    private String reason; // 调整原因（如"客服补偿"）
}